Software Developer - Full Stack - Senior
NOTE: This position is currently listed as "Onsite"; however, the Assignment under this request will provisionally be “Hybrid”, working 7.25 hours per calendar day, sometime between 8:00-5:00 PM (excluding lunch breaks) Monday to Friday inclusive for three (3) days onsite and two (2) days remote (offsite), unless otherwise identified. These conditions are subject to change as the OPS reflects on its current situation. During the duration of the assignment, you will be under the discretion of the Hiring Manager’s requirements for the assigned Project.

SCOPE: The Justice Technology Services - Digital Design Branch requires a software developer with design/development experience of delivering digital products based on Java, Angular, Restful API (e.g. Spring Boot), and Cloud-Native framework and industry-leading UXD to build and enhance products for Criminal Justice Digital Design (CJDD) modernization program. Successful candidates will work on various applications and integration endpoints including Criminal eIntake, Digital Information Repository (DIR) and ICON Integration workstreams.


DELIVERABLES:
The programmer developer will be responsible for coding and unit testing of applications capabilities and APIs using Java, Restful API (e.g. Spring Boot) and Cloud-Native Angular frameworks, translating functional specifications into working, tested applications (Front-end User-Interface, Backend, and integration serviecs). This includes developing detailed programming specifications, user interface designs, prototypes, writing and/or generating code, compiling data driven programs, conducting unit tests, and debugging code.

Key deliverables will include:
  • Development - Writing and/or generating code, conducting unit tests on written code
  • Design and Documentation – Participate in creation of high-quality software design and documentation of SDLC phases
  • Support – Assist with troubleshooting production issues and support day-to-day operations

Experience and Skill Set Requirements:

MANDATORY REQUIREMENTS:
  • At least 8 years of hands-on experience with software development
  • Must have extensive experience in development of enterprise-grade applications using Java with Spring Boot, JEE, EJB, JPA, JSF, Primefaces, Restful API and Angular frameworks, etc.
  • Extensive experience with REST API design and development, including experience with API documentation and testing.
  • Must have demonstrated experience in Angular including deep knowledge of Angular concepts like components, services, modules, decorators, and routing. And extensive experience with the latest Angular features and best practices.
  • Demonstrated Front-end Development Skills including proficiency in HTML5, Angular frameworks, CSS3, and JavaScript/TypeScript, Knowledge of responsive web design and cross-browser compatibility.
  • Experience in working with portals that handle documents requiring digital signatures and interoperability between multiple applications.
  • Previous knowledge of working with containerized environments such as Azure, OpenShift, etc.
  • Experience with enterprise integration technologies, such as JMS, AMQP, or REST, and an understanding of how to use them in a Spring Integration context.
  • Strong skills in SQL and extensive experience working with relational databases, such as SQL Server, PostgreSQL, or Oracle, and non-structured databases such as MongoDB.
  • Have knowledge on application security in Cloud environment, for example, Oauth2, Multi-Factor Authentication, SSO, certificate based or protected API, JWT Authentication, TLS1.2, and others.

DESIRED EXPERIENCE (OPTIONAL): Hands-on experience in pdf generation and implementation

SKILLS AND KNOWLEDGE:
  • A passion for staying up to date with the latest industry trends and technologies, and a desire to continuously learn and improve your skills.
  • Strong problem-solving and debugging skills, and experience diagnosing and resolving complex issues.
  • A track record of delivering high-quality, robust, and scalable solutions in a fast-paced, deadline-driven environment.
  • Strong expertise in Java/JEE, including 5+ years’ experience with Spring Boot.
  • Strong expertise in the frontend UI development with Angular and Open-Source Cloud-Native framework, and AODA compliance (validation and remediation using WAVE, AXE, ScreenReader tools)
  • Strong expertise in RESTful API design and development (e.g. Spring Boot),
  • In-depth knowledge of microservice architecture and experience building scalable, highly available, and highly sensitive systems.
  • Experience in Lean and/or Agile methodologies for the design & development
  • Able to analyze business and functional requirements, lead/participate in JAD sessions and prepare required architecture documentation.
  • Create or assist with creation, review, and provide input and support of Enterprise Architecture artifacts for all checkpoints as required.
  • Experience with applying various design patterns and standards to the technical design and development.
  • Assist with system and user interface design and modifications (data & screen) as required.
  • Ability to transfer knowledge to team members and other personnel.
  • Hands-on experience with delivering product features from beginning to end (requirements, development, unit and integration testing) without supervision.
  • Extensive experience with REST API design and development, including experience with API documentation and testing.
  • Experience with enterprise integration technologies, such as JMS, AMQP, or REST, and an understanding of how to use them in a Spring Integration context.
  • Knowledge of data transformation techniques, such as mapping and normalization, and experience using them in a Spring Integration context.
  • Strong skills in SQL and experience working with relational databases, such as SQL Server, or Oracle.
  • Understanding of security best practices and experience implementing authentication, authorization, and encryption.
  • Strong experience with writing automated tests, including unit, API test, and a deep understanding of the testing process, including experience with WAF OWASP practices (investigation and remediation).
  • Familiarity with Agile software development methodologies, such as Scrum or Kanban, and experience participating in sprint planning and retrospectives.
  • Excellent communication skills, both written and verbal, and the ability to work effectively with both technical and non-technical stakeholders

CRITERIA:

Criteria 1 - Technical Design (35 Points)
  • Extensive experience with Java / JEE, REST API (e.g. Spring Boot) design and development, including experience with API documentation and testing.
  • Strong experience in developing Single Page Application (SPA) by using Angular Cloud Native Frameworks.
  • Demonstrated and results-based experience in User Interface design, integration design, and data modeling for enterprise applications.
  • Skilled in designing solutions from business requirements, especially using UML, JEE, and Service Bus.
  • Practical knowledge in applying various design patterns and standards to the technical design and development.
  • Knowledgeable in Web Content Accessibility Guidelines (WCAG) for web application development, OMG technical standards, OWASP practices, and OPS architecture standards.

Criteria 2 - Technical Framework (35 Points)
  • Hands-on and demonstrated experience in design and development using core JEE technologies, Microservice architecture, API Services, Enterprise Service Bus, Message Queue, etc.
  • Hands-on and demonstrated experience in Java Frameworks (e.g. Spring, Shiro, Primefaces etc.), and technologies such as Hibernate, JSF, etc.
  • Hands-on experience in developing Single Page Application (SPA) by using Angular.
  • Must have prior experience in working with containerized environments such as Azure, OpenShift, Docker, Kubernetes, Microservices, etc.

Criteria 3 - Integration Skills (20 Points)
  • Hands-on and demonstrated experience in design and development using Microservice architecture and API Services.
  • Strong experience with enterprise integration technologies, such as Azure Service Bus, JMS, AMQP, or REST.
  • Strong experience in integrating web applications with RESTful APIs. Knowledge of HTTP protocols and AJAX.
  • Knowledge of data transformation techniques, such as mapping and normalization, and experience using them in a Spring Integration context.
  • Strong skills in SQL and experience working with relational databases, such as SQL Server, or Oracle.

Criteria 4 - Security (10 Points)
  • Demonstrated experience with Security in Cloud environments, for example, Oauth2, Multi-Factor Authentication, SSO, PKI, RBAC, certificate based or protected API, JWT Authentication, TLS1.2, etc.
  • Understanding of security best practices and demonstrated experience in implementing authentication, authorization, and encryption.
  • Understanding of common web security practices and vulnerabilities. Knowledge of how to secure applications against common threats


KNOWLEDGE TRANSFER:
Knowledge to be Transferred: Code & Documentations of all type assigned for this role.
Knowledge to be Transferred to: Project Manager/Team Members
Details of Transfer:
1:1 meetings / team meetings / documentation on SharePoint site, throughout the duration of the project life cycle etc.